草庐IT

c++ - SIMD C++ 库

全部标签

c++ - 修剪我的 "working set"对没有页面文件的系统有什么影响?

一位客户提示我的程序使用了太多内存。然而,在与他们合作一段时间后,我意识到:他们关闭了页面文件(在他们的终端服务框中)。他们担心我程序的任务管理器中“私有(private)工作集”的大小。所以,我的问题是,如果我只是在我的程序启动后使用EmptyWorkingSet()修剪工作集的大小(它在XML解析期间使用大量内存但随后将其删除,但工作集不会似乎下降了)我可以让工作集数字下降。然而,这真的能帮助客户吗?我有一种感觉,这只是意味着工作集将被分页,我相信如果您关闭了页面文件,工作集无论如何都会由实际内存支持....任务管理器报告的“私有(private)工作集”真的是我的程序有多少新的/

c++ - 如何使用 assert(..) 函数避免 CRT 对话框

在Windows中有没有一种方法可以避免使用assert(..)函数失败时出现CRT对话框?我喜欢将错误消息打印到控制台。如果我们不在优化版本中定义NDEBUG来实现此目的,是否可以使用CrtReportMode(..)?-卡特里 最佳答案 您可以使用_CrtSetReportMode和_CrtSetReportFile将输出发送到文件(在本例中为stderr)。_CrtSetReportMode(_CRT_ASSERT,_CRTDBG_MODE_FILE)_CrtSetReportFile(_CRT_ASSERT,_CRTDBG_

c++ - 作为 DLL 的 GIT C/C++ 库

我想知道是否有人可以推荐JGit之类的库,但它是用C/C++编写的。本质上我们需要的是dll文件,我们可以将其与我们的应用程序捆绑在一起以初始化repo并每天从repo中提取数据。 最佳答案 我用了3秒的谷歌搜索才得出:libgit2. 关于c++-作为DLL的GITC/C++库,我们在StackOverflow上找到一个类似的问题: https://stackoverflow.com/questions/8038135/

c - 警告 LNK4092 : shared writable section contains relocations

我使用VisualStudio2008,对此警告有疑问。在我们的一个库中,我们设置了“固定基地址”标志(/FIXED)并定义了一个固定基地址。我们用命令声明一个共享部分#pragmacomment(linker,"/SECTION:FOO,RWS")#pragmadata_seg("FOO")当我删除/FIXED标志时,我收到警告LINK:warningLNK4092:sharedwritablesection'FOO'containsrelocations;imagemaynotruncorrectly我知道,有了这个标志,从可执行文件加载时,dll可能会被重新定位。现在我不明白。为

c - 在没有 IDE 的情况下在 Microsoft Windows 7 上进行原生 C 编程

有什么方法可以从Windows命令提示符编写、编译和运行C程序吗?我的意思是,就像使用gcc编译器在Linux终端上可能实现的一样。具体来说,我想知道Microsoft的“cl.exe”C编译器是如何工作的。我该如何安装它?是否可以在记事本等文本编辑器中简单地编写C程序,然后使用命令提示符中的cl.exe编译它并从那里运行它?注意:我不想在Windows上使用任何其他类型的C编程解决方案,例如使用Turbo-C、DevC++等第3方编译器,或使用MingGW等Unix模拟器,甚至VisualStudio等IDE解决方案,Eclipse等,这些我都知道了。我想要的是使用微软自己的cl.e

c - 使用 C 的 MAC 地址

我正在尝试编写一些C代码来提取计算机的MAC号并打印出来。以下是我的代码。#ifndefWINVER#defineWINVER0x0600#endif#include#include#include#include#include#pragmacomment(lib,"IPHLPAPI.lib")//BYTEhasbeentypedefinedasunsignedchar//DWORDhasbeentypedefinedas32bitunsignedlongstaticvoidPrintMACaddress(unsignedcharMACData[]){printf("MACAddre

c - sleep ()功能不起作用?

我在Windows上的Code::Blocks中使用GNUGCC编译器。为什么sleep(seconds)在这里不起作用?我已经使用库尝试过它并且工作正常。谢谢。编辑:“不起作用”是指无法编译。对不起。#include#include#includeintmain(intargc,char*argv[]){char*c=(char*)malloc(sizeof(char)*50);if(--argc>0){printf("POTATO:\n");while(argc>=1){printf("-%s\n",argv[argc]);sleep(10);argc--;}printf("\n"

c++ - 将现有 C 项目转换为 WPF

我想为一个现有的、工作的C项目重新设计UI。它不是VisualStudio,它是普通的.c和.h文件。我打算进行的更改将需要WPF(WindowsPresentationFoundation)。我想知道这是否可行,如果可行,难度有多大。教程等的任何链接都会很棒。我可以在初级中级水平上读写C,但我对VisualStudio的东西还很陌生。 最佳答案 通常,此类工作的最佳方法是:在现有代码库中将逻辑与UI分离。为逻辑制作一个P/Invoke(CAPI)或C++/CLI包装器为此使用C#构建WPF前端。

c++ - 如何在 Windows 上预留内存并将以后的映射文件放入其中?

我想保留一个内存区域,然后将映射文件连续地放入保留的内存中。映射文件之间可能存在较大的时间间隔,在此期间其他函数可能会从堆中分配内存。映射后,文件可能无法取消映射并映射到新的内存位置。在Linux上会是这样的:#include#include#include#include#includeintmain(){void*memory=mmap(nullptr,getpagesize()*2,PROT_READ|PROT_WRITE,MAP_ANONYMOUS|MAP_PRIVATE|MAP_NORESERVE,-1,0);//reservememoryinthandle1=::open(

c++ - 在 Windows 上以编程方式解压缩 AES 加密的 zip 文件

我需要能够从Windows上的某些C/C++代码中解压缩一些AES(WinZip)加密的zip文件。有人有办法做到这一点吗?我希望有一些合适的代码或我可以使用的DLL(使用示例)。到目前为止,我的搜索没有结果。通常规定的InfoZip库不支持AES加密。目前我拥有的最佳解决方案是从我的程序调用7z.exe命令行程序,但考虑到我将解压缩100个左右的文件,这不太理想。 最佳答案 这是minizipzlib的贡献,它支持AES加密和解密。https://github.com/nmoinvaz/minizip